Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MeshModel] Kubernetes Ontology Browser #7465

Open
leecalcote opened this issue Apr 3, 2023 · 4 comments
Open

[MeshModel] Kubernetes Ontology Browser #7465

leecalcote opened this issue Apr 3, 2023 · 4 comments
Labels
issue/design required Functional architecture issue/willfix This issue will be worked on kind/feature New major feature or request

Comments

@leecalcote
Copy link
Member

leecalcote commented Apr 3, 2023

Description

Network topologies and graph databases go hand-in-hand. The OpenAPI specifications for Kubernetes provides taxonomy, but augmenting a graph data model with formalized ontologies enables any number of capabilities, one of the more straightforward is the inferencing requisite for natural language processing, and consequently, a human-centric query / response interaction becomes becomes possible. More importantly, more advanced systems can be built when a graph data model of connected systems is upgraded to be a knowledge semantic graph.

Desired Behavior

Represent this ontology in a graph database and a #6665

Implementation

Using Reactjs, Golang, OpenNebula

Acceptance Tests

Deliverables (among other items):

  • Web-based MeshModel capabilities browser
  • Modeling in graph database
  • Augmentation of cuelang-based component generator
  • Stretch: Import/export of MeshModel models and components as OCI images

Phase 1 Use Cases:

  1. How many of each of the MeshModel objects are registered?

MeshModel

 - Models (73)
   - Components (122)
   - Relationships (3)
   - Policies (0)
  1. What version of the models are present?
  2. How many components are registered duplicately? The same components from different Kubernetes clusters have been registered. The API should provide this. See @harkiratsm and @Revolyssup about this.
Other related implementations to reference and reuse:
  1. MeshMap Designer has what is essentially a MeshModel browser.
  2. Meshery UI Design Configurator has what is essentially a MeshModel browser.

Phase 2 Use Cases:

  1. (MeshSync integration) What are the most popular components present in the currently connected Kubernetes clusters?
  2. (Connection/Credential integration) Which models are are not currently supported by a missing connection or missing credential?
  3. Import and Export of Models
  4. (Meshery Catalog integration) For each component, how many designs reference this component? The Meshery Catalog has this need as well.
  5. (Meshery Catalog integration)What are the most popular components referenced in Designs?

For the initial set of use cases, use the REST-based MeshModels API:
/api/meshmodels/models/components/?search=envoy&v1&apiversion=1

When POSTing, follow up with a GET.

FYI: Server Side Events (SSE) are used under /api/events.

Mockups

See https://www.figma.com/file/SMP3zxOjZztdOLtgN4dS2W/Meshery-UI?node-id=12835-37612&t=R391PMgNPxdKOFMK-4

MeshModel Browser

MeshModel Browser by Object Type


Contributor Guides and Handbook

@leecalcote leecalcote added kind/enhancement Improvement in current feature issue/design required Functional architecture kind/feature New major feature or request and removed kind/enhancement Improvement in current feature labels Apr 3, 2023
@github-actions
Copy link

github-actions bot commented Apr 3, 2023

This issue has been labeled with 'design-required'. Note that prior to commencing on implementation, a design specification needs to be created and reviewed for approval. See Creating a Functional Specification to create a design spec.


        Be sure to join the community, if you haven't yet and please leave a ⭐ star on the project 😄

@leecalcote leecalcote added the issue/willfix This issue will be worked on label Apr 3, 2023
@MdSahil-oss
Copy link
Contributor

Hi, @leecalcote I'm interested in this project and I'm also familiar with the skill set that this project requires like React.js and Golang, Going to make my proposal for this project as very less time remaining to apply for GSoC. Hopefully will be accepted as a GSoC contributor at meshery for this project :)

@leecalcote
Copy link
Member Author

Hi @MdSahil-oss, let's explore. Jump into the community slack and start familiarizing with the Meshery project. Let's chat when you've built it and gotten some sense of it. Ping me when ready.

@leecalcote
Copy link
Member Author

@Yashsharma1911 questions to review and ensure these use cases are covered

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
issue/design required Functional architecture issue/willfix This issue will be worked on kind/feature New major feature or request
Projects
None yet
Development

No branches or pull requests

2 participants